package com.hsurosy.hsuchain.nft.api.collection.service;

import com.hsurosy.hsuchain.nft.api.collection.model.CollectionVO;
import com.hsurosy.hsuchain.nft.api.collection.request.*;
import com.hsurosy.hsuchain.nft.api.collection.response.CollectionChainResponse;
import com.hsurosy.hsuchain.nft.api.collection.response.CollectionModifyResponse;
import com.hsurosy.hsuchain.nft.api.collection.response.CollectionRemoveResponse;

/**
 * 藏品管理门面服务接口
 *
 * @Author Hsu琛君珩
 * @Date 2024-10-04 14:55
 * @Description
 * @Version: v1.0.0
 */
public interface CollectionManageFacadeService {

    /**
     * 创建藏品
     *
     * @param request 藏品创建请求
     * @return 藏品上链响应
     */
    CollectionChainResponse create(CollectionCreateRequest request);

    /**
     * 藏品下架
     *
     * @param request 藏品下架请求
     * @return 藏品下架响应
     */
    CollectionRemoveResponse remove(CollectionRemoveRequest request);

    /**
     * 藏品库存修改
     *
     * @param request 藏品库存修改请求
     * @return 藏品修改响应
     */
    CollectionModifyResponse modifyInventory(CollectionModifyInventoryRequest request);

    /**
     * 藏品价格修改
     *
     * @param request 藏品价格修改请求
     * @return 藏品修改响应
     */
    CollectionModifyResponse modifyPrice(CollectionModifyPriceRequest request);

    /**
     * 藏品分页查询
     *
     * @param request 藏品分页查询请求
     * @return 藏品分页查询响应
     */
    public PageResponse<CollectionVO> pageQuery(CollectionPageQueryRequest request);
}
